﻿#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int dataClass;

typedef struct ListNode
{
	struct ListNode* prev;
	dataClass data;
	struct ListNode* next;
}ListNode;

//初始化
void LTInit(ListNode** pphead);

//创建节点
ListNode* LTBuyNode(dataClass x);

//尾插
void LTPushBack(ListNode* sentry, dataClass x);

//头插
void LTPushFront(ListNode* sentry, dataClass x);

//打印
void LTPrint(ListNode* sentry);

//尾删
void LTPopBack(ListNode* sentry);

//头删
void LTPopFront(ListNode* sentry);

//在指定位置之后插入数据
void LTInsert(ListNode* pos, dataClass x);

//查找
ListNode* LTFind(ListNode* sentry, dataClass x);

//删除节点
void LTErase(ListNode* pos);

//销毁链表
void LTDesTroy(ListNode* pos);